package cn.xumaoyang.pet.service.impl;


import cn.xumaoyang.basic.service.impl.BaseServiceImpl;
import cn.xumaoyang.basic.util.PageList;
import cn.xumaoyang.pet.domain.Pet;
import cn.xumaoyang.pet.mapper.PetDetailMapper;
import cn.xumaoyang.pet.mapper.PetMapper;
import cn.xumaoyang.pet.query.PetQuery;
import cn.xumaoyang.pet.service.IPetService;
import cn.xumaoyang.user.domain.Logininfo;
import cn.xumaoyang.user.domain.User;
import cn.xumaoyang.user.mapper.UserMapper;
import org.apache.catalina.servlet4preview.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
public class PetServiceImpl  extends BaseServiceImpl<Pet> implements IPetService {

    @Autowired
    private PetMapper petMapper;
    @Autowired
    private PetDetailMapper petDetailMapper;

    @Autowired
    private UserMapper userMapper;

    /**
     * 宠物上架
     * @param ids
     */
    @Override
    public void onSale(List<Long> ids) {
        //第一步更改状态，
        //第二步设置上架时间。
        Map<String, Object> map = new HashMap<>();
        //设置。
        map.put("ids",ids);
        map.put("onSaleTime",new Date());
        //丢到map
        petMapper.onsale(map);


    }

    /**
     * 宠物下架
     * @param ids
     */
    @Override
    public void offsale(List<Long> ids) {
        //第一步更改状态，
        //第二步设置上架时间。
        Map<String, Object> map = new HashMap<>();
        //设置。
        map.put("ids",ids);
        map.put("offSaleTime",new Date());
        //丢到map
        petMapper.offSale(map);
    }

    /**
     * 根据id查询到前端的详细。
     * @param petId
     * @return
     */
    @Override
    public Pet detail(Long petId) {
        return petMapper.loadByIdDetail(petId);
    }


    /**
     * 前端领养实现。
     * @param param
     * @param currentLoginInfo
     */
//    @Override
//    public void adopt(Map<String, Long> param, Logininfo currentLoginInfo) {
//        Long petId = param.get("petId");
//        //获取登录人
//        User user = userMapper.loadByLoginfoId(currentLoginInfo.getId());
//        //下架宠物，和下架时间。
//        Pet pet = petMapper.loadById(petId);
//        //设置下架宠物。
//        pet.setState(0);  //0下架。1上架。
//        //设置下架时间
//        pet.setOffsaletime(new Date());
//        //绑定领养人。
//        pet.setUser_id(user.getId());
//        //修改保存。
//        petMapper.update(pet);
//
//    }
}
